rand()
এবং srand()
এর মাধ্যমে র্যান্ডম নাম্বার জেনারেশনসি প্রোগ্রামিং ভাষায় rand()
এবং srand()
ফাংশনগুলি র্যান্ডম নাম্বার জেনারেশনের জন্য ব্যবহৃত হয়। rand()
ফাংশন একটি পসিবল র্যান্ডম নাম্বার উৎপন্ন করে, এবং srand()
ফাংশনটি র্যান্ডম নাম্বার জেনারেটরের বীজ (seed) সেট করে, যাতে র্যান্ডম নাম্বারগুলি প্রতি চালনার সময় আলাদা আলাদা হয়। সাধারণভাবে, র্যান্ডম নাম্বারগুলি অনেক ধরনের সিমুলেশন, গেম, বা পরীক্ষামূলক কাজে ব্যবহৃত হয়।
rand()
:
int rand(void);
0
থেকে RAND_MAX
পর্যন্ত একটি সংখ্যা রিটার্ন করে।srand()
:
void srand(unsigned int seed);
time()
ফাংশন থেকে সিড নেয়া হয়, যাতে প্রতিবার আলাদা র্যান্ডম নাম্বার উৎপন্ন হয়।rand()
এবং srand()
ব্যবহারযদি আপনি শুধুমাত্র rand()
ফাংশন ব্যবহার করেন, তাহলে প্রতিবার প্রোগ্রামটি চালানোর সময় একই র্যান্ডম নাম্বার উৎপন্ন হবে, কারণ র্যান্ডম জেনারেটরের বীজ একটিই থাকে। এটি সাধারণত পূর্বনির্ধারিত থাকে।
#include <stdio.h>
#include <stdlib.h>
int main() {
int random_number;
// র্যান্ডম নাম্বার জেনারেশন
random_number = rand();
printf("Random number: %d\n", random_number);
return 0;
}
এখানে, rand()
একটি পসিবল র্যান্ডম নাম্বার রিটার্ন করবে, কিন্তু প্রতিবার প্রোগ্রাম চালানোর সময় একই নাম্বার আসবে।
srand()
এবং rand()
ব্যবহার (অলাদা র্যান্ডম নাম্বার)যদি আপনি চাইছেন যে, প্রতিবার প্রোগ্রাম চালানোর সময় ভিন্ন ভিন্ন র্যান্ডম নাম্বার তৈরি হোক, তবে আপনাকে srand()
ফাংশন ব্যবহার করতে হবে। srand()
এর মাধ্যমে আপনি র্যান্ডম নাম্বার জেনারেটরের বীজ সেট করেন, এবং সাধারণত time(NULL)
ব্যবহার করা হয় যা সিস্টেমের বর্তমান সময় দেয়। এতে প্রতিবার প্রোগ্রাম চালানোর সময় একটি নতুন সিড তৈরি হয় এবং ভিন্ন ভিন্ন র্যান্ডম নাম্বার পাওয়া যায়।
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int random_number;
// র্যান্ডম নাম্বার জেনারেটরের বীজ সেট করা
srand(time(NULL)); // বর্তমান সময় দিয়ে সিড সেট করা
// র্যান্ডম নাম্বার জেনারেশন
random_number = rand();
printf("Random number: %d\n", random_number);
return 0;
}
এখানে time(NULL)
বর্তমান সময়ের সেকেন্ড মান দিচ্ছে এবং সেটি srand()
ফাংশনে সিড হিসেবে ব্যবহৃত হচ্ছে। এর ফলে প্রতিবার প্রোগ্রাম চালানোর সময় আলাদা আলাদা র্যান্ডম নাম্বার উৎপন্ন হবে।
আপনি rand()
ফাংশন থেকে যে র্যান্ডম নাম্বারটি পাচ্ছেন তা 0
থেকে RAND_MAX
পর্যন্ত হতে পারে। তবে আপনি যদি একটি নির্দিষ্ট সীমার মধ্যে র্যান্ডম নাম্বার চান, তবে সেটি করতে পারেন:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int random_number;
// র্যান্ডম নাম্বার জেনারেটরের বীজ সেট করা
srand(time(NULL));
// 1 থেকে 100 এর মধ্যে র্যান্ডম নাম্বার জেনারেশন
random_number = (rand() % 100) + 1;
printf("Random number between 1 and 100: %d\n", random_number);
return 0;
}
এখানে rand() % 100
দিয়ে 0 থেকে 99 এর মধ্যে একটি নাম্বার তৈরি হবে, তারপর +1
করে সেটি 1 থেকে 100 এর মধ্যে র্যান্ডম নাম্বার তৈরি হবে।
ফাংশন | বর্ণনা | সিঙ্কট্যাক্স |
---|---|---|
rand() | র্যান্ডম নাম্বার জেনারেট করে। | int rand(void); |
srand() | র্যান্ডম নাম্বার জেনারেটরের বীজ সেট করে | void srand(unsigned int seed); |
rand()
ফাংশনটি র্যান্ডম নাম্বার তৈরি করে, তবে এটি একই সিডের সাথে প্রতি চালনায় একই নাম্বার দিতে পারে।srand()
ফাংশনটি র্যান্ডম নাম্বার জেনারেটরের সিড সেট করে এবং সাধারণত time(NULL)
ব্যবহার করা হয়, যাতে প্রতি চালনায় আলাদা র্যান্ডম নাম্বার তৈরি হয়।rand() % n
ব্যবহার করা হয়।common.read_more